/**
 */
package org.mro.grib.model.files.secondEdition.products;


/**
 * <!-- begin-user-doc -->
 * A representation of the model object '<em><b>Product Definition Template41101</b></em>'.
 * <!-- end-user-doc -->
 *
 * <p>
 * The following features are supported:
 * <ul>
 *   <li>{@link org.mro.grib.model.files.secondEdition.products.ProductDefinitionTemplate41101#getTotalNumberOfDataValuesMissing <em>Total Number Of Data Values Missing</em>}</li>
 *   <li>{@link org.mro.grib.model.files.secondEdition.products.ProductDefinitionTemplate41101#getStatisticalProcess <em>Statistical Process</em>}</li>
 *   <li>{@link org.mro.grib.model.files.secondEdition.products.ProductDefinitionTemplate41101#getTypeOfTimeIncrementBetweenSuccessiveFields <em>Type Of Time Increment Between Successive Fields</em>}</li>
 *   <li>{@link org.mro.grib.model.files.secondEdition.products.ProductDefinitionTemplate41101#getIndicatorOfUnitOfTimeForTimeRange <em>Indicator Of Unit Of Time For Time Range</em>}</li>
 *   <li>{@link org.mro.grib.model.files.secondEdition.products.ProductDefinitionTemplate41101#getLengthOfTheTimeRange <em>Length Of The Time Range</em>}</li>
 *   <li>{@link org.mro.grib.model.files.secondEdition.products.ProductDefinitionTemplate41101#getIndicatorOfUnitOfTimeForIncrement <em>Indicator Of Unit Of Time For Increment</em>}</li>
 *   <li>{@link org.mro.grib.model.files.secondEdition.products.ProductDefinitionTemplate41101#getTimeIncrementBetweenSuccessiveFields <em>Time Increment Between Successive Fields</em>}</li>
 * </ul>
 * </p>
 *
 * @see org.mro.grib.model.files.secondEdition.products.ProductsPackage#getProductDefinitionTemplate41101()
 * @model annotation="http://www.eclipse.org/emf/2002/GenModel description_en='Hovm\366ller-type grid with averaging or other statistical\r\nprocessing' note_1_en='This template is simply experimental, was not validated at the time of publication and should be used only\r\nfor bilateral previously agreed tests. (Octets 35\u201350 are very similar to octets 43\u201358 of product definition\r\ntemplate 4.8, but the meaning of some fields differs slightly.)' note_2_en='Hours greater than 65534 will be coded as 65534.' note_3_en='Reference = reference time (section 1) + forecast range (PDT) + offset and increments from reference time (GDT).' note_4_en='An increment of zero means that the statistical processing is the result of a continuous (or near continuous) process, not\r\nthe processing of a number of discrete samples. Examples of such continuous processes are the temperatures measured\r\nby analogue maximum and minimum thermometers or thermographs, and the rainfall measured by a raingauge.'"
 * @generated
 */
public interface ProductDefinitionTemplate41101 extends ProductDefinitionTemplate41100 {
	/**
	 * Returns the value of the '<em><b>Total Number Of Data Values Missing</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Total Number Of Data Values Missing</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Total Number Of Data Values Missing</em>' attribute.
	 * @see #setTotalNumberOfDataValuesMissing(int)
	 * @see org.mro.grib.model.files.secondEdition.products.ProductsPackage#getProductDefinitionTemplate41101_TotalNumberOfDataValuesMissing()
	 * @model required="true"
	 *        annotation="http://www.eclipse.org/emf/2002/GenModel label_en='Total number of data values missing in the statistical process' description_en='Total number of data values missing in the statistical process'"
	 * @generated
	 */
	int getTotalNumberOfDataValuesMissing();

	/**
	 * Sets the value of the '{@link org.mro.grib.model.files.secondEdition.products.ProductDefinitionTemplate41101#getTotalNumberOfDataValuesMissing <em>Total Number Of Data Values Missing</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Total Number Of Data Values Missing</em>' attribute.
	 * @see #getTotalNumberOfDataValuesMissing()
	 * @generated
	 */
	void setTotalNumberOfDataValuesMissing(int value);

	/**
	 * Returns the value of the '<em><b>Statistical Process</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Statistical Process</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Statistical Process</em>' attribute.
	 * @see #setStatisticalProcess(byte)
	 * @see org.mro.grib.model.files.secondEdition.products.ProductsPackage#getProductDefinitionTemplate41101_StatisticalProcess()
	 * @model required="true"
	 *        annotation="http://www.eclipse.org/emf/2002/GenModel label_en='Statistical process' description_en='Statistical process used to calculate the processed field from the field at each time increment\r\nduring the time range (see Code table 4.10)'"
	 * @generated
	 */
	byte getStatisticalProcess();

	/**
	 * Sets the value of the '{@link org.mro.grib.model.files.secondEdition.products.ProductDefinitionTemplate41101#getStatisticalProcess <em>Statistical Process</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Statistical Process</em>' attribute.
	 * @see #getStatisticalProcess()
	 * @generated
	 */
	void setStatisticalProcess(byte value);

	/**
	 * Returns the value of the '<em><b>Type Of Time Increment Between Successive Fields</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Type Of Time Increment Between Successive Fields</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Type Of Time Increment Between Successive Fields</em>' attribute.
	 * @see #setTypeOfTimeIncrementBetweenSuccessiveFields(byte)
	 * @see org.mro.grib.model.files.secondEdition.products.ProductsPackage#getProductDefinitionTemplate41101_TypeOfTimeIncrementBetweenSuccessiveFields()
	 * @model required="true"
	 *        annotation="http://www.eclipse.org/emf/2002/GenModel label_en='Type of time increment between successive fields' description_en='Type of time increment between successive fields used in the statistical processing (see\r\nCode table 4.11)'"
	 * @generated
	 */
	byte getTypeOfTimeIncrementBetweenSuccessiveFields();

	/**
	 * Sets the value of the '{@link org.mro.grib.model.files.secondEdition.products.ProductDefinitionTemplate41101#getTypeOfTimeIncrementBetweenSuccessiveFields <em>Type Of Time Increment Between Successive Fields</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Type Of Time Increment Between Successive Fields</em>' attribute.
	 * @see #getTypeOfTimeIncrementBetweenSuccessiveFields()
	 * @generated
	 */
	void setTypeOfTimeIncrementBetweenSuccessiveFields(byte value);

	/**
	 * Returns the value of the '<em><b>Indicator Of Unit Of Time For Time Range</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Indicator Of Unit Of Time For Time Range</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Indicator Of Unit Of Time For Time Range</em>' attribute.
	 * @see #setIndicatorOfUnitOfTimeForTimeRange(byte)
	 * @see org.mro.grib.model.files.secondEdition.products.ProductsPackage#getProductDefinitionTemplate41101_IndicatorOfUnitOfTimeForTimeRange()
	 * @model required="true"
	 *        annotation="http://www.eclipse.org/emf/2002/GenModel label_en='Indicator of unit of time' description_en='Indicator of unit of time for time range over which statistical processing is done (see Code\r\ntable 4.4)'"
	 * @generated
	 */
	byte getIndicatorOfUnitOfTimeForTimeRange();

	/**
	 * Sets the value of the '{@link org.mro.grib.model.files.secondEdition.products.ProductDefinitionTemplate41101#getIndicatorOfUnitOfTimeForTimeRange <em>Indicator Of Unit Of Time For Time Range</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Indicator Of Unit Of Time For Time Range</em>' attribute.
	 * @see #getIndicatorOfUnitOfTimeForTimeRange()
	 * @generated
	 */
	void setIndicatorOfUnitOfTimeForTimeRange(byte value);

	/**
	 * Returns the value of the '<em><b>Length Of The Time Range</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Length Of The Time Range</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Length Of The Time Range</em>' attribute.
	 * @see #setLengthOfTheTimeRange(int)
	 * @see org.mro.grib.model.files.secondEdition.products.ProductsPackage#getProductDefinitionTemplate41101_LengthOfTheTimeRange()
	 * @model required="true"
	 *        annotation="http://www.eclipse.org/emf/2002/GenModel label_en='Length of the time range' description_en='Length of the time range over which statistical processing is done, in units defined by the\r\nprevious octet'"
	 * @generated
	 */
	int getLengthOfTheTimeRange();

	/**
	 * Sets the value of the '{@link org.mro.grib.model.files.secondEdition.products.ProductDefinitionTemplate41101#getLengthOfTheTimeRange <em>Length Of The Time Range</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Length Of The Time Range</em>' attribute.
	 * @see #getLengthOfTheTimeRange()
	 * @generated
	 */
	void setLengthOfTheTimeRange(int value);

	/**
	 * Returns the value of the '<em><b>Indicator Of Unit Of Time For Increment</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Indicator Of Unit Of Time For Increment</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Indicator Of Unit Of Time For Increment</em>' attribute.
	 * @see #setIndicatorOfUnitOfTimeForIncrement(byte)
	 * @see org.mro.grib.model.files.secondEdition.products.ProductsPackage#getProductDefinitionTemplate41101_IndicatorOfUnitOfTimeForIncrement()
	 * @model required="true"
	 *        annotation="http://www.eclipse.org/emf/2002/GenModel label_en='Indicator of unit of time' description_en='Indicator of unit of time for the increment between the successive fields used (see Code\r\ntable 4.4)'"
	 * @generated
	 */
	byte getIndicatorOfUnitOfTimeForIncrement();

	/**
	 * Sets the value of the '{@link org.mro.grib.model.files.secondEdition.products.ProductDefinitionTemplate41101#getIndicatorOfUnitOfTimeForIncrement <em>Indicator Of Unit Of Time For Increment</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Indicator Of Unit Of Time For Increment</em>' attribute.
	 * @see #getIndicatorOfUnitOfTimeForIncrement()
	 * @generated
	 */
	void setIndicatorOfUnitOfTimeForIncrement(byte value);

	/**
	 * Returns the value of the '<em><b>Time Increment Between Successive Fields</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Time Increment Between Successive Fields</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Time Increment Between Successive Fields</em>' attribute.
	 * @see #setTimeIncrementBetweenSuccessiveFields(int)
	 * @see org.mro.grib.model.files.secondEdition.products.ProductsPackage#getProductDefinitionTemplate41101_TimeIncrementBetweenSuccessiveFields()
	 * @model required="true"
	 *        annotation="http://www.eclipse.org/emf/2002/GenModel label_en='Time increment between successive fields' description_en='Time increment between successive fields, in units defined by the previous octet (see Note 2)'"
	 * @generated
	 */
	int getTimeIncrementBetweenSuccessiveFields();

	/**
	 * Sets the value of the '{@link org.mro.grib.model.files.secondEdition.products.ProductDefinitionTemplate41101#getTimeIncrementBetweenSuccessiveFields <em>Time Increment Between Successive Fields</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Time Increment Between Successive Fields</em>' attribute.
	 * @see #getTimeIncrementBetweenSuccessiveFields()
	 * @generated
	 */
	void setTimeIncrementBetweenSuccessiveFields(int value);

} // ProductDefinitionTemplate41101
